package com.zk.ppa.service;

import com.zk.ppa.commom.exception.BaseException;
import com.zk.ppa.service.dto.in.LoginDTO;
import com.zk.ppa.service.dto.out.ProfileOutDTO;

import java.io.FileNotFoundException;
import java.io.OutputStream;

/**
 * @author chenxiaolong
 * @since 2021年03月21日 13:24:00
 */
public interface AuthService {

    /**
     * 获取验证码
     * @param uuid 作为验证码的key
     * @param outputStream 验证码图片的输出流
     * @return 返回验证码的字符串文本
     * @throws FileNotFoundException
     */
    String createCode(String uuid, OutputStream outputStream);

    /**
     * 登录方法
     * @param loginDTO 登录参数
     * @return 返回token
     */
    String login(LoginDTO loginDTO) throws BaseException;


    /**
     * 根据登录的token获取登录用户信息
     * @param token 登录的token
     * @return 登录用户信息
     */
    ProfileOutDTO getProfile(String token);
}
